Run this command to install the SDK:

npm install cloudmersive-convert-api-client --save


Or add this snippet to your package.json:

  "dependencies": {
    "cloudmersive-convert-api-client": "^2.6.3"
  }


var CloudmersiveConvertApiClient = require('cloudmersive-convert-api-client');
var defaultClient = CloudmersiveConvertApiClient.ApiClient.instance;

// Configure API key authorization: Apikey
var Apikey = defaultClient.authentications['Apikey'];
Apikey.apiKey = 'YOUR API KEY';



var apiInstance = new CloudmersiveConvertApiClient.EditDocumentApi();

var reqConfig = new CloudmersiveConvertApiClient.DocxInsertImageRequest(); // DocxInsertImageRequest | Document input request


var callback = function(error, data, response) {
  if (error) {
    console.error(error);
  } else {
    console.log('API called successfully. Returned data: ' + data);
  }
};
apiInstance.editDocumentDocxInsertImage(reqConfig, callback);

Run this command to install the SDK:

pip install cloudmersive-convert-api-client


from __future__ import print_function
import time
import cloudmersive_convert_api_client
from cloudmersive_convert_api_client.rest import ApiException
from pprint import pprint

# Configure API key authorization: Apikey
configuration = cloudmersive_convert_api_client.Configuration()
configuration.api_key['Apikey'] = 'YOUR_API_KEY'



# create an instance of the API class
api_instance = cloudmersive_convert_api_client.EditDocumentApi(cloudmersive_convert_api_client.ApiClient(configuration))
req_config = cloudmersive_convert_api_client.DocxSetFooterRequest() # DocxSetFooterRequest | Document input request

try:
    # Set the footer in a Word DOCX document
    api_response = api_instance.edit_document_docx_set_footer(req_config)
    pprint(api_response)
except ApiException as e:
    print("Exception when calling EditDocumentApi->edit_document_docx_set_footer: %s\n" % e)

Run this command to install the SDK:

Install-Package Cloudmersive.APIClient.NET.DocumentAndDataConvert -Version 3.4.2


using System;
using System.Diagnostics;
using Cloudmersive.APIClient.NET.DocumentAndDataConvert.Api;
using Cloudmersive.APIClient.NET.DocumentAndDataConvert.Client;
using Cloudmersive.APIClient.NET.DocumentAndDataConvert.Model;

namespace Example
{
    public class EditDocumentDocxSetFooterExample
    {
        public void main()
        {
            // Configure API key authorization: Apikey
            Configuration.Default.AddApiKey("Apikey", "YOUR_API_KEY");
            
            

            var apiInstance = new EditDocumentApi();
            var reqConfig = new DocxSetFooterRequest(); // DocxSetFooterRequest | Document input request

            try
            {
                // Set the footer in a Word DOCX document
                DocxSetFooterResponse result = apiInstance.EditDocumentDocxSetFooter(reqConfig);
                Debug.WriteLine(result);
            }
            catch (Exception e)
            {
                Debug.Print("Exception when calling EditDocumentApi.EditDocumentDocxSetFooter: " + e.Message );
            }
        }
    }
}

To install with Maven, add a reference to the repository in pom.xml:

<repositories>
    <repository>
        <id>jitpack.io</id>
        <url>https://jitpack.io</url>
    </repository>
</repositories>


And add a reference to the dependency in pom.xml:

<dependencies>
<dependency>
    <groupId>com.github.Cloudmersive</groupId>
    <artifactId>Cloudmersive.APIClient.Java</artifactId>
    <version>v4.25</version>
</dependency>
</dependencies>


To install with Gradle, add it in your root build.gradle at the end of repositories:

allprojects {
	repositories {
		...
		maven { url 'https://jitpack.io' }
	}
}


And add the dependency in build.gradle:

dependencies {
        implementation 'com.github.Cloudmersive:Cloudmersive.APIClient.Java:v4.25'
}


// Import classes:
//import com.cloudmersive.client.invoker.ApiClient;
//import com.cloudmersive.client.invoker.ApiException;
//import com.cloudmersive.client.invoker.Configuration;
//import com.cloudmersive.client.invoker.auth.*;
//import com.cloudmersive.client.EditDocumentApi;

ApiClient defaultClient = Configuration.getDefaultApiClient();

// Configure API key authorization: Apikey
ApiKeyAuth Apikey = (ApiKeyAuth) defaultClient.getAuthentication("Apikey");
Apikey.setApiKey("YOUR API KEY");
// Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
//Apikey.setApiKeyPrefix("Token");

EditDocumentApi apiInstance = new EditDocumentApi();
DocxInsertImageRequest reqConfig = new DocxInsertImageRequest(); // DocxInsertImageRequest | Document input request
try {
    DocxInsertImageResponse result = apiInstance.editDocumentDocxInsertImage(reqConfig);
    System.out.println(result);
} catch (ApiException e) {
    System.err.println("Exception when calling EditDocumentApi#editDocumentDocxInsertImage");
    e.printStackTrace();
}

Run this command to install the SDK:

composer require cloudmersive/cloudmersive_document_convert_api_client


<?php
require_once(__DIR__ . '/vendor/autoload.php');

// Configure API key authorization: Apikey
$config = Swagger\Client\Configuration::getDefaultConfiguration()->setApiKey('Apikey', 'YOUR_API_KEY');



$apiInstance = new Swagger\Client\Api\EditDocumentApi(
    
    
    new GuzzleHttp\Client(),
    $config
);
$req_config = new \Swagger\Client\Model\DocxInsertImageRequest(); // \Swagger\Client\Model\DocxInsertImageRequest | Document input request

try {
    $result = $apiInstance->editDocumentDocxInsertImage($req_config);
    print_r($result);
} catch (Exception $e) {
    echo 'Exception when calling EditDocumentApi->editDocumentDocxInsertImage: ', $e->getMessage(), PHP_EOL;
}
?>

Add the Objective-C client to your Podfile:

pod 'CloudmersiveDocumentAndDataConvertApiClient', '~> 1.0'


CMDefaultConfiguration *apiConfig = [CMDefaultConfiguration sharedConfig];

// Configure API key authorization: (authentication scheme: Apikey)
[apiConfig setApiKey:@"YOUR_API_KEY" forApiKeyIdentifier:@"Apikey"];




CMDocxSetFooterRequest* reqConfig = [[CMDocxSetFooterRequest alloc] init]; // Document input request

CMEditDocumentApi*apiInstance = [[CMEditDocumentApi alloc] init];

// Set the footer in a Word DOCX document
[apiInstance editDocumentDocxSetFooterWithReqConfig:reqConfig
          completionHandler: ^(CMDocxSetFooterResponse* output, NSError* error) {
                        if (output) {
                            NSLog(@"%@", output);
                        }
                        if (error) {
                            NSLog(@"Error calling CMEditDocumentApi->editDocumentDocxSetFooter: %@", error);
                        }
                    }];

Add the Ruby client to your Gemfile:

gem 'cloudmersive-convert-api-client', '~> 2.1.6'


# load the gem
require 'cloudmersive-convert-api-client'
# setup authorization
CloudmersiveConvertApiClient.configure do |config|
  # Configure API key authorization: Apikey
  config.api_key['Apikey'] = 'YOUR API KEY'
  # Uncomment the following line to set a prefix for the API key, e.g. 'Bearer' (defaults to nil)
  #config.api_key_prefix['Apikey'] = 'Bearer'
end

api_instance = CloudmersiveConvertApiClient::EditDocumentApi.new

req_config = CloudmersiveConvertApiClient::DocxInsertImageRequest.new # DocxInsertImageRequest | Document input request


begin
  #Insert image into a Word DOCX document
  result = api_instance.edit_document_docx_insert_image(req_config)
  p result
rescue CloudmersiveConvertApiClient::ApiError => e
  puts "Exception when calling EditDocumentApi->edit_document_docx_insert_image: #{e}"
end

Download and copy the /client folder into your Apex project:

Download Apex Client

SwagEditDocumentApi api = new SwagEditDocumentApi();
SwagClient client = api.getClient();

// Configure API key authorization: Apikey
ApiKeyAuth Apikey = (ApiKeyAuth) client.getAuthentication('Apikey');
Apikey.setApiKey('YOUR API KEY');

Map<String, Object> params = new Map<String, Object>{
    'reqConfig' => SwagDocxSetFooterRequest.getExample()
};

try {
    // cross your fingers
    SwagDocxSetFooterResponse result = api.editDocumentDocxSetFooter(params);
    System.debug(result);
} catch (Swagger.ApiException e) {
    // ...handle your exceptions
}

Install libcurl in your C/C++ project:

libcurl/7.75.0
CURL *curl;
CURLcode res;
curl = curl_easy_init();
if(curl) {
     curl_easy_setopt(curl, CURLOPT_CUSTOMREQUEST, "POST");
     curl_easy_setopt(curl, CURLOPT_URL, "https://api.cloudmersive.com/convert/edit/docx/set-footer");
     curl_easy_setopt(curl, CURLOPT_FOLLOWLOCATION, 1L);
     curl_easy_setopt(curl, CURLOPT_DEFAULT_PROTOCOL, "https");
     struct curl_slist *headers = NULL;
     headers = curl_slist_append(headers, "Content-Type: application/x-www-form-urlencoded");
     headers = curl_slist_append(headers, "Apikey: YOUR-API-KEY-HERE");
     curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headers);
     const char *data = "InputFileBytes=%3Cbyte%3E&InputFileUrl=%3Cstring%3E&Path=dolore&Paragraphs=%5B%7B%22ParagraphIndex%22%3A-35370492%2C%22Path%22%3A%22ea%20cillum%20mollit%20aliquip%22%2C%22ContentRuns%22%3A%5B%7B%22RunIndex%22%3A-45525695%2C%22Path%22%3A%22Ut%20sed%22%2C%22TextItems%22%3A%5B%7B%22value%22%3A%22%3CError%3A%20Too%20many%20levels%20of%20nesting%20to%20fake%20this%20schema%3E%22%7D%2C%7B%22value%22%3A%22%3CError%3A%20Too%20many%20levels%20of%20nesting%20to%20fake%20this%20schema%3E%22%7D%5D%2C%22Bold%22%3Afalse%2C%22Italic%22%3Afalse%2C%22Underline%22%3A%22labor%22%2C%22FontFamily%22%3A%22incididunt%20esse%22%2C%22FontSize%22%3A%22dolore%20mollit%20cupidatat%20minim%22%7D%2C%7B%22RunIndex%22%3A2481553%2C%22Path%22%3A%22irure%20incididunt%22%2C%22TextItems%22%3A%5B%7B%22value%22%3A%22%3CError%3A%20Too%20many%20levels%20of%20nesting%20to%20fake%20this%20schema%3E%22%7D%2C%7B%22value%22%3A%22%3CError%3A%20Too%20many%20levels%20of%20nesting%20to%20fake%20this%20schema%3E%22%7D%5D%2C%22Bold%22%3Atrue%2C%22Italic%22%3Afalse%2C%22Underline%22%3A%22labore%20Duis%20Ut%20voluptate%22%2C%22FontFamily%22%3A%22laborum%22%2C%22FontSize%22%3A%22cillum%20sed%22%7D%5D%2C%22StyleID%22%3A%22consequat%20aute%20veniam%20occaecat%20incididunt%22%7D%2C%7B%22ParagraphIndex%22%3A9467527%2C%22Path%22%3A%22do%20adipisicing%20Excepteur%20volupt%22%2C%22ContentRuns%22%3A%5B%7B%22RunIndex%22%3A60393387%2C%22Path%22%3A%22cupidatat%22%2C%22TextItems%22%3A%5B%7B%22value%22%3A%22%3CError%3A%20Too%20many%20levels%20of%20nesting%20to%20fake%20this%20schema%3E%22%7D%2C%7B%22value%22%3A%22%3CError%3A%20Too%20many%20levels%20of%20nesting%20to%20fake%20this%20schema%3E%22%7D%5D%2C%22Bold%22%3Afalse%2C%22Italic%22%3Atrue%2C%22Underline%22%3A%22aliqua%20proident%22%2C%22FontFamily%22%3A%22qui%20laborum%20ut%20laboris%20esse%22%2C%22FontSize%22%3A%22labore%20culpa%20ut%20et%20ullamco%22%7D%2C%7B%22RunIndex%22%3A56337945%2C%22Path%22%3A%22dolor%20magna%22%2C%22TextItems%22%3A%5B%7B%22value%22%3A%22%3CError%3A%20Too%20many%20levels%20of%20nesting%20to%20fake%20this%20schema%3E%22%7D%2C%7B%22value%22%3A%22%3CError%3A%20Too%20many%20levels%20of%20nesting%20to%20fake%20this%20schema%3E%22%7D%5D%2C%22Bold%22%3Atrue%2C%22Italic%22%3Afalse%2C%22Underline%22%3A%22aliqua%20eiusmod%20ut%20do%22%2C%22FontFamily%22%3A%22labore%20Lorem%20esse%20occaecat%22%2C%22FontSize%22%3A%22quis%20exercitation%20eiusmod%20Lorem%22%7D%5D%2C%22StyleID%22%3A%22labore%20Lorem%20anim%22%7D%5D&SectionsWithFooter=%5B%7B%22StartingPageNumbers%22%3A%5B-36028857%2C68686969%5D%2C%22Path%22%3A%22ut%20et%20ad%22%7D%2C%7B%22StartingPageNumbers%22%3A%5B-85475890%2C-59481409%5D%2C%22Path%22%3A%22id%22%7D%5D";
     curl_easy_setopt(curl, CURLOPT_POSTFIELDS, data);
     res = curl_easy_perform(curl);
}
curl_easy_cleanup(curl);
curl --location --request POST 'https://api.cloudmersive.com/convert/edit/docx/insert-image' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--header 'Apikey: YOUR-API-KEY-HERE' \
--data-urlencode 'InputDocumentFileBytes=<byte>' \
--data-urlencode 'InputDocumentFileUrl=<string>' \
--data-urlencode 'InputImageFileBytes=<byte>' \
--data-urlencode 'InputImageFileUrl=<string>' \
--data-urlencode 'Path=Excepteur sint' \
--data-urlencode 'ImageName=anim magna mollit sed ut' \
--data-urlencode 'ImageId=90187331' \
--data-urlencode 'ImageDescription=aliquip proident esse' \
--data-urlencode 'ImageWidth=37682088' \
--data-urlencode 'ImageHeight=-54489792' \
--data-urlencode 'XOffset=99925111' \
--data-urlencode 'YOffset=-12387197' \
--data-urlencode 'ImageDataEmbedId=qui fugiat' \
--data-urlencode 'ImageDataContentType=voluptate' \
--data-urlencode 'ImageInternalFileName=id cupidatat Ut ut' \
--data-urlencode 'ImageContentsURL=enim ad do Excepteur' \
--data-urlencode 'InlineWithText=false' \
--data-urlencode 'InsertPlacement=<string>' \
--data-urlencode 'InsertPath=<string>' \
--data-urlencode 'WidthInEMUs=<long>' \
--data-urlencode 'HeightInEMUs=<long>'
import Foundation
#if canImport(FoundationNetworking)
import FoundationNetworking
#endif

var semaphore = DispatchSemaphore (value: 0)

let parameters = "InputDocumentFileBytes=%3Cbyte%3E&InputDocumentFileUrl=%3Cstring%3E&InputImageFileBytes=%3Cbyte%3E&InputImageFileUrl=%3Cstring%3E&Path=enim%20id%20irure%20minim&ImageName=proident%20dolor%20amet%20veniam&ImageId=-38148791&ImageDescription=eiusmod&ImageWidth=-2383663&ImageHeight=20625996&XOffset=16754772&YOffset=-68434461&ImageDataEmbedId=consectetur%20sed%20nisi&ImageDataContentType=dolor%20anim&ImageInternalFileName=proident%20quis%20id%20ea&ImageContentsURL=sunt%20esse&InlineWithText=false&InsertPlacement=%3Cstring%3E&InsertPath=%3Cstring%3E&WidthInEMUs=%3Clong%3E&HeightInEMUs=%3Clong%3E"
let postData =  parameters.data(using: .utf8)

var request = URLRequest(url: URL(string: "https://api.cloudmersive.com/convert/edit/docx/insert-image")!,timeoutInterval: Double.infinity)
request.addValue("application/x-www-form-urlencoded", forHTTPHeaderField: "Content-Type")
request.addValue("YOUR-API-KEY-HERE", forHTTPHeaderField: "Apikey")

request.httpMethod = "POST"
request.httpBody = postData

let task = URLSession.shared.dataTask(with: request) { data, response, error in 
     guard let data = data else {
          print(String(describing: error))
          semaphore.signal()
          return
     }
     print(String(data: data, encoding: .utf8)!)
     semaphore.signal()
}

task.resume()
semaphore.wait()

This code snippet uses the built-in JavaScript XHR request capability

var data = "InputDocumentFileBytes=%3Cbyte%3E&InputDocumentFileUrl=%3Cstring%3E&InputImageFileBytes=%3Cbyte%3E&InputImageFileUrl=%3Cstring%3E&Path=pariatur%20Ut&ImageName=aute%20incididunt&ImageId=-21588436&ImageDescription=ut&ImageWidth=-34866641&ImageHeight=-35216862&XOffset=-47171538&YOffset=70941864&ImageDataEmbedId=do%20qui%20minim%20nulla&ImageDataContentType=et%20cillum&ImageInternalFileName=minim%20adipisicing%20culpa&ImageContentsURL=ut%20dolore%20id%20tempor&InlineWithText=false&InsertPlacement=%3Cstring%3E&InsertPath=%3Cstring%3E&WidthInEMUs=%3Clong%3E&HeightInEMUs=%3Clong%3E";

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function() {
     if(this.readyState === 4) {
          console.log(this.responseText);
     }
});

xhr.open("POST", "https://api.cloudmersive.com/convert/edit/docx/insert-image");
xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
xhr.setRequestHeader("Apikey", "YOUR-API-KEY-HERE");

xhr.send(data);
package main

import (
     "fmt"
     "strings"
     "net/http"
     "io/ioutil"
)

func main() {

     url := "https://api.cloudmersive.com/convert/edit/docx/insert-image"
     method := "POST"

     payload := strings.NewReader("InputDocumentFileBytes=%3Cbyte%3E&InputDocumentFileUrl=%3Cstring%3E&InputImageFileBytes=%3Cbyte%3E&InputImageFileUrl=%3Cstring%3E&Path=culpa%20quis%20eiusmod&ImageName=ea%20enim%20qui%20in&ImageId=-89728156&ImageDescription=ex%20esse%20nulla%20sit&ImageWidth=-39651058&ImageHeight=63300215&XOffset=96479159&YOffset=-80404004&ImageDataEmbedId=esse%20aliquip%20Duis%20ipsum&ImageDataContentType=deserunt%20laborum%20culpa%20ad&ImageInternalFileName=et%20sit&ImageContentsURL=amet%20labore%20id&InlineWithText=false&InsertPlacement=%3Cstring%3E&InsertPath=%3Cstring%3E&WidthInEMUs=%3Clong%3E&HeightInEMUs=%3Clong%3E")

     client := &http.Client {
     }
     req, err := http.NewRequest(method, url, payload)

     if err != nil {
          fmt.Println(err)
          return
     }
     req.Header.Add("Content-Type", "application/x-www-form-urlencoded")
     req.Header.Add("Apikey", "YOUR-API-KEY-HERE")

     res, err := client.Do(req)
     if err != nil {
          fmt.Println(err)
          return
     }
     defer res.Body.Close()

     body, err := ioutil.ReadAll(res.Body)
     if err != nil {
          fmt.Println(err)
          return
     }
     fmt.Println(string(body))
}

Walkthrough Video